Trafikkdata Norge

Author

Knut H. Pedersen

Trafikkdata

«Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Norwegian Public Roads Administration.»

Code
import requests
import pandas as pd
import geopandas
Code


url = "https://trafikkdata-api.atlas.vegvesen.no"
headers = {
    "content-type": "application/json"
}
data = {
    "query": """
        {
            trafficRegistrationPoints(searchQuery: {roadCategoryIds: [E, R, F, K, P] }) {
                id
                name
                trafficRegistrationType
                commissions {
                    validFrom
                    validTo
                    lanes {
                        laneNumberAccordingToRoadLink
                        laneNumberAccordingToMetering
                    }
                }
                direction {
                    fromAccordingToRoadLink
                    fromAccordingToMetering
                    toAccordingToRoadLink
                    toAccordingToMetering
                }
                manualLabels {
                    validFrom
                    validTo
                    affectedLanes {
                        lane {
                        laneNumberAccordingToRoadLink
                        laneNumberAccordingToMetering
                        }
                        states
                    }
                }
                operationalStatus
                registrationFrequency
                dataTimeSpan {
                    firstData
                    firstDataWithQualityMetrics
                    latestData {
                        volumeByHour
                        volumeByDay
                        volumeAverageDailyByMonth
                        volumeAverageDailyBySeason
                        volumeAverageDailyByYear
                    }
                }
                location {
                    coordinates {
                        latLon {
                            lat
                            lon
                        }
                    }
                }
            }
        }
    """,
    "variables": None
}

response = requests.post(url, headers=headers, json=data)

df_sensors = pd.json_normalize(response.json()['data']['trafficRegistrationPoints'])
df_sensors
id name trafficRegistrationType commissions manualLabels operationalStatus registrationFrequency direction.fromAccordingToRoadLink direction.fromAccordingToMetering direction.toAccordingToRoadLink direction.toAccordingToMetering dataTimeSpan.firstData dataTimeSpan.firstDataWithQualityMetrics dataTimeSpan.latestData.volumeByHour dataTimeSpan.latestData.volumeByDay dataTimeSpan.latestData.volumeAverageDailyByMonth dataTimeSpan.latestData.volumeAverageDailyBySeason dataTimeSpan.latestData.volumeAverageDailyByYear location.coordinates.latLon.lat location.coordinates.latLon.lon
0 52742V2282262 Ørbekk VEHICLE [{'validFrom': '2002-01-01T00:00:00+01:00', 'v... [{'validFrom': '2023-06-27T05:00:00+02:00', 'v... OPERATIONAL CONTINUOUS OSLO OSLO HAMAR HAMAR 2002-01-01T00:00:00+01:00 2016-04-25T09:00:00+02:00 2025-05-28T15:00:00+02:00 2025-05-28T00:00:00+02:00 2025-04-01T00:00:00+02:00 2024-12-01T00:00:00+01:00 2024-01-01T00:00:00+01:00 60.414260 11.241171
1 41517V704478 BASTERUD VEHICLE [{'validFrom': '2002-01-01T00:00:00+01:00', 'v... [] RETIRED PERIODIC FRA KOLOMOENX3 FRA KOLOMOENX3 FRA HAMAR FRA HAMAR 2002-01-01T00:00:00+01:00 2015-04-24T12:00:00+02:00 2017-11-14T12:00:00+01:00 2017-11-14T00:00:00+01:00 2017-11-01T00:00:00+01:00 2017-09-01T00:00:00+02:00 2017-01-01T00:00:00+01:00 60.769163 11.171156
2 01050V1126115 Trollvika VEHICLE [{'validFrom': '2016-04-07T09:15:12.73+02:00',... [] OPERATIONAL CONTINUOUS Gisund bru Gisund bru Bjorelvnes Bjorelvnes 2016-04-07T09:00:00+02:00 2016-04-07T09:00:00+02:00 2025-05-28T15:00:00+02:00 2025-05-28T00:00:00+02:00 2025-04-01T00:00:00+02:00 2024-12-01T00:00:00+01:00 2024-01-01T00:00:00+01:00 69.239206 17.981692
3 24748V22148 Pinesund VEHICLE [{'validFrom': '2006-01-03T13:00:00+01:00', 'v... [{'validFrom': '2019-05-23T19:00:00+02:00', 'v... OPERATIONAL CONTINUOUS Brokelandsheia AKLAND AKLAND Brokelandsheia 2006-01-03T13:00:00+01:00 2018-05-25T16:00:00+02:00 2025-05-28T15:00:00+02:00 2025-05-28T00:00:00+02:00 2025-04-01T00:00:00+02:00 2024-12-01T00:00:00+01:00 2024-01-01T00:00:00+01:00 58.798454 9.054728
4 11446V1175840 Melsomvik VEHICLE [{'validFrom': '1990-04-17T14:00:00+02:00', 'v... [{'validFrom': '2018-04-06T00:00:00+02:00', 'v... OPERATIONAL CONTINUOUS SANDEFJORD SANDEFJORD TØNSBERG TØNSBERG 1990-04-17T14:00:00+02:00 2018-04-04T14:00:00+02:00 2025-05-28T15:00:00+02:00 2025-05-28T00:00:00+02:00 2025-04-01T00:00:00+02:00 2024-12-01T00:00:00+01:00 2024-01-01T00:00:00+01:00 59.229469 10.338938
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
9008 02510V384266 Haukåsvegen 1 VEHICLE [{'validFrom': '2025-02-05T10:17:27+01:00', 'v... [] OUT_OF_SERVICE PERIODIC Kaupanger Kaupanger Haukåsen Haukåsen 2025-02-05T10:00:00+01:00 2025-02-05T10:00:00+01:00 2025-02-13T10:00:00+01:00 2025-02-13T00:00:00+01:00 None None 2025-01-01T00:00:00+01:00 61.186571 7.217449
9009 01681V704686 Akershus grense VEHICLE [{'validFrom': '2025-04-24T15:26:51+02:00', 'v... [] OUT_OF_SERVICE PERIODIC Åsnes Åsnes Disenå Disenå 2025-04-24T15:00:00+02:00 2025-04-24T15:00:00+02:00 2025-05-08T13:00:00+02:00 2025-05-08T00:00:00+02:00 None None 2025-01-01T00:00:00+01:00 60.174021 11.573360
9010 80804V704933 Spikset gardstegelverk VEHICLE [{'validFrom': '2025-04-24T14:36:23+02:00', 'v... [] OUT_OF_SERVICE PERIODIC Togstad Togstad Sandnesmoen Sandnesmoen 2025-04-24T14:00:00+02:00 2025-04-24T14:00:00+02:00 2025-05-09T15:00:00+02:00 2025-05-09T00:00:00+02:00 None None 2025-01-01T00:00:00+01:00 60.238495 11.651985
9011 03081V971839 Ringstad ved Nylende VEHICLE [{'validFrom': '2025-04-23T13:22:31+02:00', 'v... [] OUT_OF_SERVICE PERIODIC Nylende Nylende Liane Liane 2025-04-23T13:00:00+02:00 2025-04-23T13:00:00+02:00 2025-05-11T04:00:00+02:00 2025-05-11T00:00:00+02:00 None None 2025-01-01T00:00:00+01:00 59.306555 10.970183
9012 62357V578651 Sundsøya VEHICLE [{'validFrom': '2025-02-18T13:20:54+01:00', 'v... [] OUT_OF_SERVICE PERIODIC Røra Røra Straumen Straumen 2025-02-18T13:00:00+01:00 2025-02-18T13:00:00+01:00 2025-02-28T08:00:00+01:00 2025-02-28T00:00:00+01:00 None None 2025-01-01T00:00:00+01:00 63.865429 11.300386

9013 rows × 20 columns

Code
gdf_sensors = geopandas.GeoDataFrame(
    df_sensors,
    geometry=geopandas.points_from_xy(
        df_sensors['location.coordinates.latLon.lon'],
        df_sensors['location.coordinates.latLon.lat']
    ),
    crs="EPSG:4326"
)
gdf_sensors.explore()
Make this Notebook Trusted to load map: File -> Trust Notebook